package te.jetty.http.rest;


import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * @author vellhe@tencent.com
 * @date 2017/7/7
 * @description 提供REST接口
 */
@Path("/")
public class RestInterface {

  /**
   * 根据id查询任务信息.
   *
   * @param id 任务id
   * @return 任务信息
   */
  @Path("/getInf/{id}") // 大括号里的是参数名，在函数位置使用@PathParam注解映射
  @GET // 声明这个接口必须GET访问
  
  @Produces(MediaType.APPLICATION_JSON) // 声明这个接口将以json格式返回
  public Map<String,String> getTaskInfo(@PathParam("id") int id) {
	  Map<String,String> mpMap=new HashMap<>();
	  mpMap.put("123", "123");
	  mpMap.put("id", String.valueOf(id));

    return mpMap;
  }

  /**
   * 根据taskInfo查询subTaskInfo.
   *
   * @param taskInfoPo taskInfo
   * @return subTaskInfo
   */
  @Path("/postInf/") // url上没有参数，参数通过body传入
  @POST
  @Consumes(MediaType.APPLICATION_JSON) // 声明传入参数是json格式
  @Produces(MediaType.APPLICATION_JSON)
  public Map<String,Object> getSubTaskInfo(Map<String, Object> taskInfoPo) {
	  Map<String,Object> mpMap=new HashMap<>();
	  mpMap.put("stamp",(int) System.currentTimeMillis());
	  mpMap.put("id",taskInfoPo.get("id"));
	  mpMap.put("date",new Date());
    return mpMap;
  }

 
}
